/**
 * 实时时间显示模块
 * 提供统一的时间显示功能，可在所有页面中重用
 */
const TimeDisplay = (function() {
    let timeInterval = null;
    
    /**
     * 更新时间显示
     * @param {string} elementId - 显示时间的元素ID，默认为'currentTime'
     */
    function updateTime(elementId = 'currentTime') {
        const element = document.getElementById(elementId);
        if (!element) return;
        
        const now = new Date();
        const hours = now.getHours().toString().padStart(2, '0');
        const minutes = now.getMinutes().toString().padStart(2, '0');
        const seconds = now.getSeconds().toString().padStart(2, '0');
        element.textContent = `${hours}:${minutes}:${seconds}`;
    }
    
    /**
     * 初始化时间显示
     * @param {string} elementId - 显示时间的元素ID，默认为'currentTime'
     */
    function init(elementId = 'currentTime') {
        // 先清除可能存在的定时器
        if (timeInterval) {
            clearInterval(timeInterval);
        }
        
        // 初始更新一次
        updateTime(elementId);
        
        // 设置定时器，每秒更新一次
        timeInterval = setInterval(() => updateTime(elementId), 1000);
    }
    
    /**
     * 清理资源
     */
    function destroy() {
        if (timeInterval) {
            clearInterval(timeInterval);
            timeInterval = null;
        }
    }
    
    // 暴露公共接口
    return {
        init,
        destroy,
        updateTime
    };
})();

// 页面加载完成后自动初始化（可选）
document.addEventListener('DOMContentLoaded', () => {
    // 只有当页面中存在currentTime元素时才自动初始化
    if (document.getElementById('currentTime')) {
        TimeDisplay.init();
    }
});